package com.logic.landseaserver.persistence.write;

import com.logic.landseaserver.domain.CoupUsedRecord;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

public interface CoupUsedRecordWriteMapper 
{
    int deleteByPrimaryKey(Integer id);

    int insert(CoupUsedRecord record);

    int insertSelective(CoupUsedRecord record);

    int updateByPrimaryKeySelective(CoupUsedRecord record);

    int updateByPrimaryKey(CoupUsedRecord record);
    //批量insert使用记录
    int insertList(List<CoupUsedRecord> records);
    //根据预定或者合同编号以及类型删除使用记录-> 物理删除
    int removeByMIdAndType(Integer mainId,String mainType);
    //根据预定或者合同编号以及类型删除使用记录-> 逻辑删除-用于过期或者定时任务删除
    int deleteByMIdAndType(Integer mainId,String mainType);
    
    /**
     * 
     * [简要描述]：更新使用状态</br>
     * [详细描述]：</br>
     * [作者]：Aaron(2017-10-20)</br>
     *
     * @param mainId
     * @param mainType
     *
     */
    void updateUseStatusByMIdAndType(Map<String,Object> paramMap);

    int removeCouponUesdSvDeposit(Integer mainId,String mainType);
}